In such an architectures, multiple servers are provided for processing requests from multiple clients. The servers can be located in the same physical location, or in different physical locations, but as far as any particular client is concerned they are not aware of the location of the server. The servers are located behind a load balancing mechanism which manages requests to the servers from the client terminals, in accordance with a variety of load balancing techniques. The clients are in communication with the load balancing mechanism, and thus the servers, via any suitable network, which can be wired or wireless.
FIG. 1 illustrates an example architecture where the cloud is generally denoted to be shown to comprise multiple servers 4 located behind a load balancing mechanism 6. Client terminals 8 are in communication with the cloud 2 via network 10. The client terminals can be implemented as any form of computer terminal. For example, they can be laptops, tablets, mobile phones, personal computers etc. In each case, a client terminal 8 executes an application (e.g. an installed client) which allows the user of the terminal to access the cloud 2. The cloud 2 forms part of the Internet accessible by the application. When a service is required, a request to access the particular Internet location is sent from the client terminal 8 to the network 10 for accessing that location, for example using an Internet address in the form of a uniform resource locator URL. When the cloud 2 is accessed, the load balancing mechanism 6 receives a request and directs it to one of the servers 4. The selected server processes the request and returns the response to the client terminal 8 which issued the request.
It will be appreciated that at any particular time, a very large number of requests could be issued by clients globally to be received at the cloud 2 and managed by the load balancing mechanism 6. The servers 4 are agnostic, in the sense that they do not know anything about earlier requests that may have been received from the same client terminal and issued to other servers in the cloud 2. Each particular server manages the processing of the requests which it serves based on a queue of incoming requests to that server, managed by the load balancing mechanism 6.
An example of such an architecture is in a search engine, where a search request is received from the client terminal and directed to a server. The server processes the request by implementing the search and returning a search result to the user of the client terminal that issued the request.